package com.hzlx.batch.mapper;

import java.util.List;
import com.hzlx.batch.domain.BatchesMaterial;
import com.hzlx.mesMaterialBatches.domain.MesMaterialBatches;
import org.apache.ibatis.annotations.Mapper;

/**
 * 物料批次及数量Mapper接口
 * 
 * @author ruoyi
 * @date 2025-07-07
 */
@Mapper
public interface BatchesMaterialMapper 
{
    /**
     * 查询物料批次及数量
     * 
     * @param batchId 物料批次及数量主键
     * @return 物料批次及数量
     */
    public BatchesMaterial selectBatchesMaterialByBatchId(Long batchId);

    /**
     * 查询物料批次及数量列表
     * 
     * @param batchesMaterial 物料批次及数量
     * @return 物料批次及数量集合
     */
    public List<BatchesMaterial> selectBatchesMaterialList(BatchesMaterial batchesMaterial);

    /**
     * 新增物料批次及数量
     * 
     * @param batchesMaterial 物料批次及数量
     * @return 结果
     */
    public int insertBatchesMaterial(BatchesMaterial batchesMaterial);

    /**
     * 修改物料批次及数量
     * 
     * @param batchesMaterial 物料批次及数量
     * @return 结果
     */
    public int updateBatchesMaterial(BatchesMaterial batchesMaterial);

    public int updateBatchesMaterialDtO(MesMaterialBatches mesMaterialBatches);

    /**
     * 删除物料批次及数量
     * 
     * @param batchId 物料批次及数量主键
     * @return 结果
     */
    public int deleteBatchesMaterialByBatchId(Long batchId);

    /**
     * 批量删除物料批次及数量
     * 
     * @param batchIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBatchesMaterialByBatchIds(Long[] batchIds);

    BatchesMaterial selectByOne(Integer materialId);
}
